package pile.pay.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
 * <p>
 * 会员
 * </p>
 *
 * @author 郭天义
 * @since 2024-06-28
 */
@Getter
@Setter
@TableName("sys_member")
@ApiModel(value = "Member对象", description = "会员")
public class Member implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("会员id")
    @TableId(value = "member_id", type = IdType.AUTO)
    private Integer memberId;

    @ApiModelProperty("会员微信id")
    private Integer memberWechatId;

    @ApiModelProperty("头像id")
    private Integer avatarId;

    @ApiModelProperty("微信openId")
    private String openid;

    @ApiModelProperty("昵称")
    private String nickname;

    @ApiModelProperty("用户名")
    private String username;

    @ApiModelProperty("手机")
    private String phone;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("密码")
    private String password;

    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("性别，0未知，1男，2女")
    private Integer gender;

    @ApiModelProperty("所在地id")
    private Integer regionId;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("注册渠道，1Web2公众号3小程序4安卓5苹果6后台")
    private Integer regChannel;

    @ApiModelProperty("注册方式，1用户名2手机3邮箱4公众号5小程序6后台")
    private Integer regType;

    @ApiModelProperty("是否禁用，1是0否")
    private Integer isDisable;

    @ApiModelProperty("是否删除，1是0否")
    @TableLogic
    private Integer isDelete;

    @ApiModelProperty("登录次数")
    private Integer loginNum;

    @ApiModelProperty("登录IP")
    private String loginIp;

    @ApiModelProperty("登录地区")
    private String loginRegion;

    @ApiModelProperty("登录时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date loginTime;

    @ApiModelProperty("退出时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date logoutTime;

    @ApiModelProperty("注册时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("删除时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date deleteTime;

    @ApiModelProperty("乐观锁")
    @Version
    private Integer version;

    @ApiModelProperty("逻辑卡号")
    private String cardNum;

    @ApiModelProperty("用户余额")
    private BigDecimal balance;

    @ApiModelProperty("商户余额")
    private BigDecimal merchantBalance;

    @ApiModelProperty("平台余额")
    private BigDecimal platformBalance;

    @ApiModelProperty("是否为商户 1/是  0 /否")
    private Integer isMerchant;

    @ApiModelProperty("违约次数")
    private Integer defaultNumber;

    @ApiModelProperty("是否为vip 1/是 0/否")
    private Integer isVip;

    @ApiModelProperty("会员有效期开始时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date validityPeriodStart;

    @ApiModelProperty("会员有效期结束时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date validityPeriodEnd;

    @ApiModelProperty("押金")
    private BigDecimal deposit;

    @ApiModelProperty("邀请人id")
    private Integer inviterId;

    @ApiModelProperty("平台类型 1/卫莱 2/联行 3/快电 4/第三方平台")
    private Integer platformType;

    @ApiModelProperty("邀请优惠券发放")
    private Integer inviteCouponIssue;

    @ApiModelProperty("电量配置")
    private Integer powerConfiguration;

    @ApiModelProperty("权限类型 1/可编辑 2/不可")
    private Integer permissionType;

    @ApiModelProperty("商家微信openId")
    private String merchantOpenid;

    @ApiModelProperty("是否是企业用户  1/是  0/否")
    private Integer isEnterprise;


}
